package sv.gob.mh.dgii.service.security;

import java.util.List;
import sv.gob.mh.dgii.common.PagedResult;
import sv.gob.mh.dgii.dao.hibernate.Dao;
import sv.gob.mh.dgii.model.AsOpcion;
import sv.gob.mh.dgii.model.AsRol;
import sv.gob.mh.dgii.model.pojos.RequestMap;

public interface AsOpcionService extends Dao {

    /**
     *
     * @return roles en formato de spring security url -> ROLE_1, ROLE_2, ROLE_3
     */
    public List<RequestMap> getRolesForSecurity();

    public List<AsOpcion> findByRole(AsRol role);

    public List<AsOpcion> findOnlyPadres();

    public List<AsOpcion> findHijas(AsOpcion padre);

    public List<AsRol> findRolesByOpcion(AsOpcion opcion);

    public List<AsOpcion> findAllOpcionesBySRol(String[] roles);

    public AsOpcion findPadre(AsOpcion hija);

    public PagedResult findModules(int page, int pageSize);

    public int replaceModuleName(String oldModuleName, String newModuleName);
}
// class